home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / utilsys / rss14gmd.lha / RSys_1.4gmd / RSys.h < prev    next >
C/C++ Source or Header  |  1996-05-04  |  6KB  |  329 lines

  1. #define VERSION "1.4gmd"
  2.  
  3.  
  4.  /**
  5.    ***************************************************************************
  6.    *
  7.    * Datei:
  8.    *      RSys.h
  9.    *
  10.    * Inhalt:
  11.    *
  12.    *             --- Globale Routinen ---
  13.    *
  14.    *
  15.    *             --- Lokale  Routinen ---
  16.    *
  17.    *
  18.    * Bemerkungen:
  19.    *      Die Haupt-Include-Datei von RSys mit allen globalen Vereinbarungen.
  20.    *
  21.    * Erstellungsdatum:
  22.    *      07-Jul-93     Rolf Böhme
  23.    *
  24.    * Änderungen:
  25.    *      07-Jul-93     Rolf Böhme        Erstellung
  26.    *      01-Jul-93     Einige Umstellung der EntryAttr-Struktur und
  27.    *                                            Einführung sogenannter Fields, Standard-Einträge
  28.    *                                            von RSys
  29.    *    25-Jul-93    Erstellung einer Steuerstruktur
  30.    *
  31.    ***************************************************************************
  32.  **/
  33.  
  34.  
  35. #include "Inc/RSysPre.h"
  36. #include "Inc/RSysdebug.h"
  37. #include "Inc/RSysEnum.h"
  38.  
  39. #include "typedefs.h"
  40.  
  41. #define TOOLTYPE(ttype) (char *)FindToolType((UBYTE **) dop->do_ToolTypes,(UBYTE *) (ttype))
  42.  
  43.  
  44. typedef struct SysMessage
  45.   {
  46.     MESSAGE sm_message;
  47.     int sm_newtype;
  48.   }
  49. RSYS_SysMsg;
  50.  
  51. typedef struct _fmt
  52.   {
  53.     int f_blanks, f_quote;
  54.     int f_noheader;
  55.     int f_noformat;
  56.     char f_prefix[100], f_postfix[100];
  57.     char f_format[MAXWRITESIZE];
  58.   }
  59. RSYS_fmt;
  60.  
  61.  
  62. typedef struct diskhunkentry
  63.   {
  64.     NODE denode;
  65.     char *name;
  66.     char *fullname;
  67.     struct diskhunkentry *next;
  68.   }
  69. RSYS_diskhunkentry;
  70.  
  71.  
  72.  
  73. typedef struct _hardwareentry
  74.   {
  75.     char title[TITLELEN];
  76.     char info[MAXSTRLEN];
  77.     struct _hardwareentry *next;
  78.   }
  79. RSYS_hardwareentry;
  80.  
  81.  
  82. typedef struct hunkentry
  83.   {
  84.     NODE denode;
  85.     char *name;
  86.     struct hunkentry *next;
  87.   }
  88. RSYS_hunkentry;
  89.  
  90.  
  91. typedef struct
  92.   {
  93.     char cr_datafile[MAXFULLNAME];
  94.     char cr_cryptfile[MAXFULLNAME];
  95.     char cr_pwd[20];
  96.   }
  97. RSYS_cryptdata;
  98.  
  99.  
  100. typedef struct DisplayNode
  101.   {
  102.     NODE dn_Node;
  103.     DISPLAYINFO dn_dinfo;
  104.     NAMEINFO dn_ninfo;
  105.     struct DimensionInfo dn_diminfo;
  106.   }
  107. RSYS_DisplayNode;
  108.  
  109.  
  110. typedef struct winlist
  111.   {
  112.     NODE node;
  113.     WINDOW *win;
  114.     char name[MAXFULLNAME];
  115.   }
  116. RSYS_winlist;
  117.  
  118.  
  119. typedef struct
  120.   {
  121.     UWORD jmp;            /* Assembler-Befehl jmp */
  122.     ULONG adr;            /* Sprungadresse */
  123.   }
  124. RSYS_func;
  125.  
  126.  /* A bitmap header. */
  127.  
  128. typedef struct
  129.   {
  130.     UWORD w, h;            /* raster width & height in pixels */
  131.     WORD x, y;            /* position for this image */
  132.     UBYTE nPlanes;        /* # source bitplanes */
  133.     UBYTE masking;        /* masking technique */
  134.     UBYTE compression;        /* compression algorithm */
  135.     UBYTE pad1;            /* UNUSED.  For consistency, put 0 here. */
  136.     UWORD transparentColor;    /* transparent "color number" */
  137.     UBYTE xAspect, yAspect;    /* aspect ratio, a rational number x/y */
  138.     WORD pageWidth, pageHeight;    /* source "page" size in pixels */
  139.   }
  140. RSYS_BitMapHeader;
  141.  
  142.  /* A single 8-bit colour register. */
  143.  
  144. typedef struct
  145.   {
  146.     UBYTE red;            /* red component, 0..255 */
  147.     UBYTE green;        /* green component, 0..255 */
  148.     UBYTE blue;            /* blue component, 0..255 */
  149.   }
  150. RSYS_ColorRegister;
  151.  
  152. typedef struct objectid
  153.   {
  154.     char fullname[MAXFULLNAME];
  155.     APTR address;
  156.   }
  157. RSYS_Objid;
  158.  
  159. typedef struct
  160.   {
  161.     NODE node;
  162.     RSYS_Objid obj;
  163.   }
  164. RSYS_LOCKENTRY;
  165.  
  166. typedef struct
  167.   {
  168.     BPTR rl_Next;
  169.     LONG rl_UseCount;
  170.     BPTR rl_SegList;
  171.     BSTR rl_SegName;
  172.   }
  173. RSYS_RESIDENTLIST;
  174.  
  175. typedef struct Suffix
  176.   {
  177.     char *Name;
  178.     UBYTE Type;
  179.   }
  180. RSYS_Suffix;
  181.  
  182.  
  183. #define APPEND    1
  184. #define OVERWRITE 2
  185. /*
  186.  * GMD
  187.  */
  188. #define EA_NOTC  0
  189. #define EA_C  1
  190. #define EA_C_HELP  2
  191.  
  192. typedef struct
  193.   {
  194.     char *ea_type;
  195.     char *ea_header;
  196.     char *ea_dataformat;
  197.     void (*ea_func) (void);
  198.     /*unsigned ea_counted : 1; GMD */
  199.     unsigned ea_counted;
  200.   }
  201. RSYS_EntryAttribute;
  202.  
  203. typedef struct _RSysFiles
  204.   {
  205.     UBYTE Hardware[MAXFULLNAME], LibOffsets[MAXFULLNAME], Guide[MAXFULLNAME],
  206.       GuideContext[MAXFULLNAME], ActionFile[MAXFULLNAME];
  207.   }
  208. RSYSFILES;
  209.  
  210.  
  211.  
  212. typedef struct SE
  213.   {
  214.     NODE se_Node;
  215.     char se_Entry[BUFSIZE];
  216.     struct objectid se_obj_id;
  217.   }
  218. RSYS_ScrollEntry;
  219.  
  220.  
  221. typedef struct _acts
  222.   {
  223.     NODE act_Node;
  224.     int act_filetype;
  225.     char act_listviewheader[20];
  226.     char act_name[30];
  227.     char act_command[255];
  228.   }
  229. RSYS_acts;
  230.  
  231. typedef struct _flags
  232.   {
  233.     unsigned fastmode:1;
  234.     unsigned sortmode:1;
  235.     unsigned workingbar:1;
  236.     unsigned speakmode:1;
  237.     unsigned autofront:1;
  238.     unsigned mousewindow:1;
  239.     unsigned sysfont:1;
  240.     unsigned saveasking:1;
  241.     unsigned appicon:1;
  242.     unsigned helpmode:1;
  243.     unsigned textformat:1;
  244.  
  245. /* RSys private */
  246.     unsigned wb_start:1;
  247.     unsigned quit_clip:1;
  248.     unsigned quit_sw:1;
  249.     unsigned quit_crc:1;
  250.     unsigned quit_flag:1;
  251.     unsigned quit_cp:1;
  252.     unsigned quit_action_flag:1;
  253.     unsigned quit_cr:1;
  254.     unsigned quit_ff:1;
  255.     unsigned quit_fd:1;
  256.     unsigned quit_tree:1;
  257.     unsigned quit_hunk:1;
  258.     unsigned quit_iconify:1;
  259.     unsigned nohelp:1;
  260.  
  261. /* Dummys */
  262.     unsigned dummy0:1;
  263.     unsigned dummy1:1;
  264.     unsigned dummy2:1;
  265.     unsigned dummy3:1;
  266.     unsigned dummy4:1;
  267.   }
  268. RSYS_flags;
  269.  
  270.  
  271. typedef struct Manufacturer
  272.   {
  273.     char *name;
  274.     WORD manu_nr;
  275.     WORD prod_nr;
  276.     WORD type_nr;
  277.     int company;
  278.   }
  279. RSYS_Manufacturer;
  280.  
  281. typedef struct
  282.   {
  283.     NODE l_node;
  284.     char *l_name;
  285.     char *l_base;
  286.     int l_typ;
  287.     struct List l_functions;
  288.   }
  289. RSYS_LIBRARY;
  290.  
  291. typedef struct
  292.   {
  293.     NODE f_node;
  294.     char *f_name;
  295.     int f_bias;
  296.     char f_public;
  297.   }
  298. RSYS_FUNCTION;
  299.  
  300. typedef struct
  301.   {
  302.     NODE vm_node;
  303.     ULONG vm_startaddress;
  304.     ULONG vm_endaddress;
  305.     char vm_type;
  306.     char vm_comment[BUFSIZE];
  307.   }
  308. RSYS_ValidMemoryNode;
  309.  
  310.  
  311. #define WRITEPROTECT             (1<<0)
  312. #define IsWriteProtect(VMNode)   (((VMNode)->vm_type & WRITEPROTECT)==WRITEPROTECT)
  313.  
  314. #define CACHEABLE                (1<<1)
  315. #define IsCacheable(VMNode)      (((VMNode)->vm_type & CACHEABLE)==CACHEABLE)
  316.  
  317. #define VALID                    (1<<2)
  318. #define IsValid(VMNode)          (((VMNode)->vm_type & VALID)==VALID)
  319.  
  320.  
  321. /*
  322.  * GMD , ASM protos next (generated by hand)
  323.  */
  324. extern ULONG GetCPUType (void);
  325. extern ULONG GetMMUType (void);
  326. extern ULONG GetFPUType (void);
  327.  
  328.  
  329.